package com.panda.mall.elastic.service;


import java.util.List;
import java.util.Map;

/**
 * author: tcy
 * createDate: 2023/3/2
 * description:
 */
public interface ElasticService {

    /**
     * 创建ES索引
     * @param keyword
     * @return
     */
    String createIndex(String keyword);

    /**
     * 删除ES索引
     * @param keyword
     * @return
     */
    String deleteIndex(String keyword);

    /**
     * 查询ES索引
     * @param keyword
     * @return
     */
    String queryIndex(String keyword);

    /**
     * 查询全部索引
     * @return
     */
    List<String> listIndex();

    /**
     * 批量创建ES文档
     * @param keyword
     * @return
     */
    String createDocument(String keyword, String index);

    /**
     * 条件搜索ES文档
     * @param keyword
     * @param index
     * @return
     */
    List<Map<String,Object>> searchDocument(String keyword, String index);

    /**
     * 创建文档
     * @param id
     * @param index
     * @return
     */
    String addDocument(Long id, String index);

    /**
     * 查询文档
     * @param eid
     * @param index
     * @return
     */
    Map<String, Object> queryDocument(String eid, String index);

    /**
     * 修改文档
     * @param eid
     * @param index
     * @return
     */
    String updateDocument(Long id, String eid, String index);

    /**
     * 删除文档
     * @param eid
     * @param index
     * @return
     */
    String deleteDocument(String eid, String index);
}
